Root booting is the practice of booting a computing device using a volume on an attached storage device such as an attached storage array. This volume may contain everything that a local drive would contain if the computing device booted from the local drive (such as an operating system, drivers, temporary files, application programs, and/or virtual memory swap space).
FIG. 1 illustrates a typical system 100 for root booting. The system 100 typically includes a plurality of computing devices 101 communicably connected to an attached storage device 102. Each computing device 101 typically boots from a dedicated volume 104 of the attached storage device 102 which is presented to each computing device 101 as a virtual volume 105. Then each computing device 101 typically continues to utilize its respective dedicated volume 104 (via the respective virtual volume 105) for operation. As each computing device 101 reads data from and/or writes data to its respective dedicated volume 104 (via the respective virtual volume 105) during operation, data from the respective volume 104 is typically stored in a respective area of the cache 103 of the attached storage device 102 for quicker access. FIG. 2 illustrates how each computing device 101 views the system 100. Each computing device 101 is only able to access the respective volume 104 and the respective area of the cache 103 of the attached storage device 102 for the computing device 101, though the computing device 101 is actually only aware of its respective virtual volume 105 of the attached storage device 102.